package com.ruoyi.factorydata.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.factorydata.domain.MaterialRequisitionCodeDetial;
import com.ruoyi.factorydata.domain.MaterialRequisitionDetail;

import java.util.List;

/**
 * 领料单详情Service接口
 *
 * @author ruoyi
 * @date 2025-07-29
 */
public interface IMaterialRequisitionDetailService extends IService<MaterialRequisitionDetail> {
    /**
     * 查询领料单详情
     *
     * @param id 领料单详情主键
     * @return 领料单详情
     */
    public MaterialRequisitionDetail selectMaterialRequisitionDetailById(Long id);

    /**
     * 根据工单ID查询领料单详情列表
     */
    List<MaterialRequisitionDetail> getListByWorkOrderId(Long workOrderId);
    /**
     * 查询领料单详情列表
     *
     * @param materialRequisitionDetail 领料单详情
     * @return 领料单详情集合
     */
    public List<MaterialRequisitionDetail> selectMaterialRequisitionDetailList(MaterialRequisitionDetail materialRequisitionDetail);

    /**
     * 根据码槽获取领料单详情
     * @param codeSlot 码槽
     */
    MaterialRequisitionCodeDetial scanner(String codeSlot);

    /**
     * 新增领料单详情
     *
     * @param materialRequisitionDetail 领料单详情
     * @return 结果
     */
    public int insertMaterialRequisitionDetail(MaterialRequisitionDetail materialRequisitionDetail);

    /**
     * 修改领料单详情
     *
     * @param materialRequisitionDetail 领料单详情
     * @return 结果
     */
    public int updateMaterialRequisitionDetail(MaterialRequisitionDetail materialRequisitionDetail);

    /**
     * 批量删除领料单详情
     *
     * @param ids 需要删除的领料单详情主键集合
     * @return 结果
     */
    public int deleteMaterialRequisitionDetailByIds(Long[] ids);

    /**
     * 删除领料单详情信息
     *
     * @param id 领料单详情主键
     * @return 结果
     */
    public int deleteMaterialRequisitionDetailById(Long id);

}